package com.demo.service.impl;

import com.demo.dto.InstructorDTO;
import com.demo.dto.InstructorPageQueryDTO;
import com.demo.mapper.InstructorMapper;
import com.demo.pojo.Instructor;
import com.demo.result.PageResult;
import com.demo.service.InstructorService;
import com.demo.vo.InstructorVO;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class InstructorServiceImpl implements InstructorService {
    @Autowired
    InstructorMapper instructorMapper;

    //添加辅导员信息
    public void save(InstructorDTO instructorDTO) {
        System.out.println(instructorDTO);
        Instructor instructor = new Instructor();
        BeanUtils.copyProperties(instructorDTO, instructor);
        instructorMapper.addInstructor(instructor);
    }

    //批量删除辅导员信息
    public void delete(String[] instIDs) {
        for (String instID : instIDs) {
            instructorMapper.delete(instID);
        }
    }

    //删除辅导员信息
    public void deleteById(String instID) {
        instructorMapper.delete(instID);
    }

    //分页查询
    @Override
    public PageResult pageQuery(InstructorPageQueryDTO instructorPageQueryDTO) {
        PageHelper.startPage(instructorPageQueryDTO.getPage(), instructorPageQueryDTO.getPageSize());
        Page<InstructorVO> page = instructorMapper.pageQuery(instructorPageQueryDTO);
        long total = page.getTotal();
        List<InstructorVO> records = page.getResult();
        return new PageResult(total, records);
    }

    @Override
    public void update(InstructorDTO instructorDTO) {
        instructorMapper.update(instructorDTO);
    }
}
